<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>从 HTML 中分离</title>
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-base.css" />
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-medium.css" />

 </head>
 <body class="docs"><div class="navbar navbar-fixed-top">
  <div class="navbar-inner clearfix">
    <ul class="nav" style="width: 100%">
      <li style="float: left;"><a href="language.basic-syntax.phptags.html">« PHP 标记</a></li>
      <li style="float: right;"><a href="language.basic-syntax.instruction-separation.html">指令分隔符 »</a></li>
    </ul>
  </div>
</div>
<div id="breadcrumbs" class="clearfix">
  <ul class="breadcrumbs-container">
    <li><a href="index.html">PHP Manual</a></li>
    <li><a href="language.basic-syntax.html">基本语法</a></li>
    <li>从 HTML 中分离</li>
  </ul>
</div>
<div id="layout">
  <div id="layout-content"><div id="language.basic-syntax.phpmode" class="sect1">
   <h2 class="title">从 HTML 中分离</h2>
   <p class="para">
    凡是在一对开始和结束标记之外的内容都会被
    PHP 解析器忽略，这使得 PHP 文件可以具备混合内容。 可以使 PHP
    嵌入到 HTML 文档中去，如下例所示。
    <div class="informalexample">
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
&lt;p&gt;This&nbsp;is&nbsp;going&nbsp;to&nbsp;be&nbsp;ignored&nbsp;by&nbsp;PHP&nbsp;and&nbsp;displayed&nbsp;by&nbsp;the&nbsp;browser.&lt;/p&gt;<br /><span style="color: #0000BB">&lt;?php&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">'While&nbsp;this&nbsp;is&nbsp;going&nbsp;to&nbsp;be&nbsp;parsed.'</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">?&gt;<br /></span>&lt;p&gt;This&nbsp;will&nbsp;also&nbsp;be&nbsp;ignored&nbsp;by&nbsp;PHP&nbsp;and&nbsp;displayed&nbsp;by&nbsp;the&nbsp;browser.&lt;/p&gt;</span>
</code></div>
     </div>

    </div>
    这将如预期中的运行，因为当 PHP 解释器碰到 ?&gt;
    结束标记时就简单地将其后内容原样输出（除非马上紧接换行 - 见
    <a href="language.basic-syntax.instruction-separation.html" class="link">指令分隔符</a>）直到碰到下一个开始标记；例外是处于条件语句中间时，此时
    PHP 解释器会根据条件判断来决定哪些输出，哪些跳过。见下例。
   </p>
   <p class="para">
   使用条件结构：
    <div class="example" id="example-31">
     <p><strong>示例 #1 使用条件的高级分离术</strong></p>
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">$expression&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">):&nbsp;</span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;This&nbsp;will&nbsp;show&nbsp;if&nbsp;the&nbsp;expression&nbsp;is&nbsp;true.<br /><span style="color: #0000BB">&lt;?php&nbsp;</span><span style="color: #007700">else:&nbsp;</span><span style="color: #0000BB">?&gt;<br /></span>&nbsp;&nbsp;Otherwise&nbsp;this&nbsp;will&nbsp;show.<br /><span style="color: #0000BB">&lt;?php&nbsp;</span><span style="color: #007700">endif;&nbsp;</span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
     </div>

    </div>
    上例中 PHP 将跳过条件语句未达成的段落，即使该段落位于 PHP 开始和结束标记之外。由于
    PHP 解释器会在条件未达成时直接跳过该段条件语句块，因此 PHP 会根据条件来忽略之。
  </p>
  <p class="para">
   要输出大段文本时，跳出 PHP 解析模式通常比将文本通过
   <span class="function"><a href="function.echo.html" class="function">echo</a></span> 或 <span class="function"><a href="function.print.html" class="function">print</a></span> 输出更有效率。
  </p>
  <p class="para">
    <blockquote class="note"><p><strong class="note">注意</strong>: 
     <p class="para">
      此外注意如果将 PHP 嵌入到 XML 或 XHTML 中则需要使用
      <code class="code">&lt;?php ?&gt;</code> 标记以保持符合标准。
     </p>
    </p></blockquote>
   </p>
  </div></div></div></body></html>